<?php namespace Home\Controller; 

use Hdphp\Controller\Controller;
use Common\Model\Order;
use Common\Model\Address;
use Common\Model\User;
//控制器
class MemberController extends CommonController{

	
    //我的订单
    public function index(){
    	//查询订单以及商品信息【商品表和订单表以及订单列表查询】
  		$data=Db::table('orders')->join('order_list','oid','=','orders_oid')->join('goods','gid','=','goods_gid')->get();
		// sp($data);
	//	循环将商品属性存到数组中
	foreach ($data as $k => $v){
	//sp($v['goods_gid']);
	//根据商品ID查询商品属性
		$goodsAttr=Db::table('goods_attr')->join('type_attr','type_attr_taid','=','taid')->where("goods_gid={$v['goods_gid']} AND class=1")->lists('taname,gtvalue');
	//sp($goodsAttr);
		
		 $data[$k]['spec'][]=$goodsAttr;
	}
			// sp($data);
		//分配数据
		View::with('data',$data);
		//===============
		//查询会员个人信息
		$userData=Db::table('user')->get();
//		 sp($userData);
       View::with('userData',$userData);
    	View::make();
    }
	
	//	我的钱包
	public function wallet(){
		//查询会员个人信息
		$userData=Db::table('user')->get();
//		 sp($userData);
       View::with('userData',$userData);
		View::make();
	}
	
	//地址管理
	public function address(){

		// ====================
		// 实例化地址模型
		$addressModel=new Address;
		// 查询数据
		$addressData=$addressModel->get();
		// sp($addressData);
		View::with('addressData',$addressData);
		// =================
		// 用过用户有提交的时候再执行调用模型的store方法
		if(IS_POST){
			// 有错误就返回错误信息
			if(!$addressModel->store()){
			$this->error($addressModel->getError());
			}
			
			 $this->success('添加成功','Member/address');
		}
		//查询会员个人信息
		$userData=Db::table('user')->get();
//		 sp($userData);
       View::with('userData',$userData);

		View::make();
	}

	
	// 删除
	public function delAddress(){
		// 获取uaid
		$uaid=Q('get.uaid',0,'intval');
		// sp($uaid);die;
		// 实例化地址模型
		$addressModel=new Address;
		$addressModel->where("uaid=$uaid")->delete();
		$this->success('删除成功','Member/address');
	}



	//账号设置
	public function accountSettings(){
		//实例化用户模型
		$userModel=new User;
		if(IS_POST){
			
			if(!$userModel->edit()){
				$this->error($userModel->getError());
			}
		$this->success('修改成功','Member/accountSettings');
		}
		//查询会员个人信息
		$userData=Db::table('user')->get();
//		 sp($userData);
       View::with('userData',$userData);
		View::make();
	}


	
	//修改用户密码
	public function change(){
		//==========================
		//查询会员个人信息
		$userData=Db::table('user')->get();
		//sp($userData);
       View::with('userData',$userData);
		//获取用户id
		$uid=$_SESSION['uid'];
		//sp($uid);
		//实例化用户模型
		$userModel=new User;
		//查询id对应的数据
		$data=$userModel->where("uid=$uid")->find();
		//sp($data);
		if(IS_POST){
		//获取用户提交的旧密码
			$password=Q('post.password');
		//sp($password);
		$password=$userModel->encrypt($_SESSION['username'],$password);
//		sp($password);
		//将加密后的密码与数据库的密码进行比对
			if($password!=$data['password']){
				$this->error('旧密码错误');
			}
		//获取用户的新密码
		$newpassword=Q('post.newpassword');
		$cpassword=Q('post.cpassword');
		//sp($newpassword);
//		sp($cpassword);die;
		//判断两次输入的密码是否一致
			if($newpassword!=$cpassword){
				$this->error('两次输入的密码不一致');
			}
			//如果两次密码一致那就将密码加密之后插入数据库
			$newpassword=$userModel->encrypt($_SESSION['username'],$newpassword);
//			sp($newpassword);
			$userModel->where("uid=$uid")->save(array('password'=>$newpassword));
			// 清除session跳转到登录界面
			session_unset();
			session_destroy();
			$this->success('修改成功','Index/index');
		}
		View::make();
	}
	
	//上传头像
	public function upload(){
	    $file = Upload::path('Upload/touxiang/' . date('y.m.d'))->make();
	    if (empty($file)) {
	        $this->ajax(Upload::getError());
	    } else {
        /** $file内部就是以下这个数组
            $file = array(
                0 => array(
                'path' => 'Upload/Content/15/8/123981239172.jpg'    ,
                'url' => 'http://localhost/cms_edu/Upload/Content/15/8/123981239172.jpg',
                'image' => 1
            ),
        );**/
        $small=Image::thumb($file[0]['path'],'Upload/touxiang/'.date('y.m.d').'/small_'.$file[0]['basename'],150,150,5);
        //上传成功，把上传好的信息返给js
        $data = $file[0];
        echo json_encode($data);exit;
    	}
	}

	// 改变付款后的状态
	public function edit(){
		// 获取订单id
		$oid=Q('get.oid',0,'intval');
		
		Db::table('orders')->where("oid",$oid)->update(array('status'=>'待发货'));
		$this->success('付款成功');
	}

}
